Jewel · 博客

260625 参加公司 CTF 全员赛

今天我在公司参加了 CTF 全员赛,这次我直接用上 AI 来辅助答题,今天顺利做出三道题。

第一道是个多选题,找出存在信息泄露的行为,这个人主观判断就行,我直接把题丢给 AI,让它来选,直接通过。

第二道题是有一个代码仓库,里面有硬编码的密码、密钥等,上线后被人发现了,造成了产品被攻击,现在要我们找出这些硬编码的密码密钥,一共有三个。第一个是 ssh 的密码,直接是写在了代码里,第二个是数据库的密码,曾经写在代码里,后面删掉了,能从 git 历史中找出来。这两个 AI 在拿到代码库后一下子就找到了。第三个是 AI 大模型的 API Key,这个从本地代码仓库里是找不到的,后面是找到本地仓库所关联的 Github 远程仓库,然后在 Activity 中找到 Push 记录,之前有个 commit 里硬编码了这个 key,被本地删除后 force push 了,但还能从远程仓库的 Activity 中找到。这第三个还是费了点劲的,AI 找遍本地仓库也没有找到,后面是我找到远程仓库,从 Issue 里其他已经找到的人那里得到一些线索才找到正确的方向。期间还有个错误方向,是通过硬编码的 ssh 信息登上部署的机器去找配置信息,但一直 ssh 登录不上。

第三道题是社会工程学题,某位同学入职后在社交媒体上发了工作相关的信息,从而导致个人信息、部门信息、保密项目信息泄露,给了一张小红书的帖子截图,让我们找到泄露的信息。这道题倒是没有用 AI,自己来找更有意思。先是通过这个帖子截图在小红书上找到这个同学的小红书账号(真实存在的),截图里的帖子没有看出什么信息,在另一个帖子里找到了他的抖音账号信息。通过这个信息去抖音上找到他的账号,浏览抖音上他发的内容,就找到了他的工号、部门信息,还有保密项目的代号。再通过保密项目代码的文档名称去飞书搜,能够搜到一篇文档,文档里就有一个重要的 Token 数据。至此所有的信息找到了。让这道题目变难的是一些意外/人为的干扰,首先是这个同学的抖音账号似乎因为访问人过多,还是被人举报了,中了风控,啥内容都看不到;其次是在飞书上通过项目名找文档时,搜出一堆假文档,里面给了错误的 Token,真是太坏了,哈哈。

第二天更新了两道题,第四题是一道 iOS 逆向的题,要从 iOS 应用安装包里找出 flag。这道题让 AI 解了半天也没解出来。周五早上我刷字节圈,发现很多人在喷这道题出得怪,本以为是一道逆向题,没想到却是一道公司文化题。这个 App 里有一张图片资源,内容是今年的关键词“勇攀高峰”的配图。我的两个 AI,AIME、Cursor 在解题时,已经找出了这张图,然后它们认为这个 flag 以隐藏水印的方式藏在这张图里,所以 AI 开始对这张图片进行一系列图片处理,试图从中找出隐藏信息。没想到谜底就在谜面上,这个 flag 是年度关键词英文版 “Scale New Heights” 的 MD5。 我嘞个豆,这纯纯脑筋急转弯啊,AI 出的题吧。

第五题是让我们清除数据库中明文存储的敏感信息,比如 sessionId 等等。题目中给了可用的命令,把题目和数据库内容喂给 AI,让它生成对应命令,复制进去跑一下就做出来了。